package com.ly.heart.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ly.heart.domain.KingInvoicePayableEntity;
import com.ly.heart.domain.vo.KingInvoicePayableMenuVo;

/**
 * 金蝶-发票-应付单/采购开票Mapper接口
 *
 * @author wutao
 * @date 2024-06-26
 */
public interface KingInvoicePayableMapper extends BaseMapper<KingInvoicePayableEntity> {
    /**
     * 查询金蝶-发票-应付单/采购开票
     *
     * @param id 金蝶-发票-应付单/采购开票ID
     * @return 金蝶-发票-应付单/采购开票
     */
    KingInvoicePayableEntity selectKingInvoicePayableEntityById ( String id );

    /**
     * 查询金蝶-发票-应付单/采购开票列表
     *
     * @param kingInvoicePayableEntity 金蝶-发票-应付单/采购开票
     * @return 金蝶-发票-应付单/采购开票集合
     */
    List<KingInvoicePayableEntity> selectKingInvoicePayableEntityList ( KingInvoicePayableEntity kingInvoicePayableEntity );

    Integer queryCount ( KingInvoicePayableEntity kingInvoicePayableEntity );

    List<KingInvoicePayableMenuVo> queryList ( KingInvoicePayableEntity kingInvoicePayableEntity );

    Integer queryCountByMenu ( KingInvoicePayableEntity kingInvoicePayableEntity );

    /**
     * 应付单下推冲红应付单，以物料为主查询
     * @param kingInvoicePayableEntity
     * @return
     */
    List<KingInvoicePayableMenuVo> queryListByPayable ( KingInvoicePayableEntity kingInvoicePayableEntity );

    Integer queryCountByByPayable ( KingInvoicePayableEntity kingInvoicePayableEntity );

    /**
     * 新增金蝶-发票-应付单/采购开票
     *
     * @param kingInvoicePayableEntity 金蝶-发票-应付单/采购开票
     * @return 结果
     */
    int insertKingInvoicePayableEntity ( KingInvoicePayableEntity kingInvoicePayableEntity );

    /**
     * 修改金蝶-发票-应付单/采购开票
     *
     * @param kingInvoicePayableEntity 金蝶-发票-应付单/采购开票
     * @return 结果
     */
    int updateKingInvoicePayableEntity ( KingInvoicePayableEntity kingInvoicePayableEntity );

    /**
     * 删除金蝶-发票-应付单/采购开票
     *
     * @param id 金蝶-发票-应付单/采购开票ID
     * @return 结果
     */
    int deleteKingInvoicePayableEntityById ( String id );

    /**
     * 批量删除金蝶-发票-应付单/采购开票
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteKingInvoicePayableEntityByIds ( String[] ids );
}
